home *** CD-ROM | disk | FTP | other *** search
/ Aminet 3 / Aminet 3 - July 1994.iso / Aminet / dev / gui / gengui.lha / GenGui / Examples / border.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-04-29  |  4.9 KB  |  222 lines

  1. /*
  2.  * Source generated by GenGui V1.0
  3.  * which is (c)1994 by Matthias Meixner
  4.  */
  5.  
  6. #ifndef _GUI_LAYOUT
  7. #define _GUI_LAYOUT
  8.  
  9. #include <exec/types.h>
  10. #include <libraries/gadtools.h>
  11. #include <proto/gadtools.h>
  12.  
  13. #include <intuition/gadgetclass.h>
  14. #define GL_VBOX -1
  15. #define GL_HBOX -2
  16. #define CUSTOM_KIND -3
  17.  
  18. #define MODE_NEW     0
  19. #define MODE_RESIZE  1
  20. #define MODE_REFRESH 2
  21. #define MODE_FREE    3
  22. #define MODE_BACKUP  4
  23. #define MODE_RESTORE 5
  24.  
  25. #define BOXFLG_CUSTOM   1
  26. #define BOXFLG_STRING   2
  27. #define BOXFLG_INTEGER  4
  28. #define BOXFLG_DISABLED 8
  29. #define BOXFLG_BACKUP  16
  30. #define BOXFLG_INITED  (1<<15)
  31.  
  32. #define GetString(g) (((struct StringInfo * )g->SpecialInfo)->Buffer)
  33. #define GetNumber(g) (((struct StringInfo * )g->SpecialInfo)->LongInt)
  34. #define GetInfo(g) ((struct GadInfo *)((g)->UserData))
  35. #define GetUserData(g) (GetInfo(g)->UserData)
  36.  
  37. struct GadDim {
  38.    int Kind;
  39.    USHORT Rx,Ry,Cx,Cy,Px,Py,SRx,SRy,SPx,SPy;
  40.    USHORT Flags;
  41. };
  42.  
  43. struct Box {
  44.    struct GadDim Dim;
  45.    struct Box **Entry;
  46. };
  47.  
  48. struct WinInfo {
  49.    struct Box *Box;
  50.    struct Gadget **Gadgets;
  51.    struct Gadget *Prev;
  52.    struct Window *Window;
  53.    struct Gadget *GList;
  54.    int FontX,FontY;
  55.    struct TextAttr TextAttr;
  56.    APTR Visual;
  57.    char Mode,Render;
  58.    USHORT MinX,MinY;
  59. };
  60.  
  61. struct GadInfo {
  62.    struct GadDim dim;
  63.    int XSpace,YSpace,GadNum;
  64.    int (*CustomFunc)(struct WinInfo *WInfo,
  65.                      struct NewGadget *NewGad,
  66.                      struct GadInfo *GadInfo,
  67.                      int Left, int Top, int Width, int Height);
  68.    struct TextAttr *TextAttr;
  69.    char *Text;
  70.    int GadgetID;
  71.    ULONG Flags,UserData;
  72.    int(*HookFunc)(struct IntuiMessage *);
  73.    ULONG *Tags;
  74.    ULONG *SaveTags;
  75.    ULONG Code;
  76.    struct Gadget *ThisGad;
  77. };
  78.  
  79. int RenderGui(struct Window *win, struct WinInfo *winfo);
  80. int ResizeGui(struct WinInfo *winfo);
  81. int RefreshGui(struct WinInfo *winfo);
  82. void FreeGui(struct WinInfo *winfo);
  83. void StopGui(struct WinInfo *winfo);
  84. int SubGui(struct WinInfo *, struct WinInfo *,int ,int ,int , int );
  85.  
  86. void ClearWindow(struct Window *);
  87. struct IntuiMessage *Gui_GetIMsg(struct MsgPort *userport,struct IntuiMessage *);
  88.  
  89. BOOL Gui_SetGadgetAttrs(struct Gadget *,struct Window *,
  90.                         struct Requester *, ULONG ,...);
  91. BOOL Gui_SetGadgetAttrsA(struct Gadget *,struct Window *,
  92.                         struct Requester *, ULONG *);
  93. #endif
  94.  
  95.    char * mx_labels[]={"Amiga 500","Amiga 1000","Amiga 2000",
  96.                        "Amiga 3000","Amiga 4000",NULL};
  97. struct Gadget *InnerGui_Gadgets[2];
  98.  
  99. struct Box InnerGui1={
  100.    GL_VBOX,1,1,0,0,0+0,0+0,0,0,0,0,0,NULL
  101. };
  102.  
  103. #define InnerGui_1 0
  104.  
  105. ULONG InnerGuiTags2[]={
  106.    GTMX_Labels,(ULONG)mx_labels ,TAG_DONE
  107. };
  108.  
  109. struct GadInfo InnerGui2={
  110.    MX_KIND,0,0,2,5,4+INTERWIDTH,4+INTERHEIGHT,0,0,0,0,0,
  111.    INTERWIDTH,INTERHEIGHT,0,NULL,NULL,
  112.    "",1,0,0,NULL,InnerGuiTags2
  113. };
  114.  
  115. #define InnerGui_2 1
  116.  
  117. ULONG InnerGuiTags3[]={
  118.    TAG_DONE
  119. };
  120.  
  121. struct GadInfo InnerGui3={
  122.    BUTTON_KIND,1,1,0,0,0+0,0+0,0,0,0,0,0,
  123.    INTERWIDTH,INTERHEIGHT,1,NULL,NULL,
  124.    "Just a Test" ,2,0,0,NULL,InnerGuiTags3
  125. };
  126.  
  127. struct Box *InnerGuiV0[]={
  128.    &InnerGui1,
  129.    (struct Box *)&InnerGui2,
  130.    (struct Box *)&InnerGui3,
  131.    NULL
  132. };
  133.  
  134. struct Box InnerGui0={
  135.    GL_HBOX,1,1,0,0,0+0,0+0,0,0,0,0,0,InnerGuiV0
  136. };
  137.  
  138. struct WinInfo InnerGui = {
  139.    &InnerGui0,InnerGui_Gadgets
  140. };
  141.  
  142. int Custom(struct WinInfo *winfo,
  143.                      struct NewGadget *ng,
  144.                      struct GadInfo *gad,
  145.                      int left, int top, int width, int height)
  146. {
  147.    if(winfo->Render) {
  148.       DrawBevelBox(winfo->Window->RPort,ng->ng_LeftEdge,ng->ng_TopEdge,
  149.                                      ng->ng_Width,ng->ng_Height,
  150.                                      GT_VisualInfo,winfo->Visual,TAG_DONE);
  151.    }
  152.    return(SubGui(winfo,&InnerGui,ng->ng_LeftEdge,ng->ng_TopEdge,
  153.                                  ng->ng_Width,ng->ng_Height));
  154. }
  155. struct Gadget *TestPro_Gadgets[3];
  156.  
  157. #define TestPro_0 0
  158.  
  159. ULONG TestProTags1[]={
  160.    TAG_DONE
  161. };
  162.  
  163. struct GadInfo TestPro1={
  164.    CUSTOM_KIND,1,1,0,0,0+0,0+0,0,0,0,0,BOXFLG_CUSTOM,
  165.    INTERWIDTH,INTERHEIGHT,0,Custom ,NULL,
  166.    "",0,0,0,NULL,TestProTags1
  167. };
  168.  
  169. #define TestPro_4 1
  170.  
  171. ULONG TestProTags3[]={
  172.    TAG_DONE
  173. };
  174.  
  175. struct GadInfo TestPro3={
  176.    BUTTON_KIND,1,0,0,1,0+0,4+INTERHEIGHT,0,0,0,0,0,
  177.    INTERWIDTH,INTERHEIGHT,1,NULL,NULL,
  178.    "OK" ,4,0,0,NULL,TestProTags3
  179. };
  180.  
  181. struct Box TestPro4={
  182.    GL_HBOX,1,1,0,0,0+0,0+0,0,0,0,0,0,NULL
  183. };
  184.  
  185. #define TestPro_5 2
  186.  
  187. ULONG TestProTags5[]={
  188.    TAG_DONE
  189. };
  190.  
  191. struct GadInfo TestPro5={
  192.    BUTTON_KIND,1,0,0,1,0+0,4+INTERHEIGHT,0,0,0,0,0,
  193.    INTERWIDTH,INTERHEIGHT,2,NULL,NULL,
  194.    "Cancel" ,5,0,0,NULL,TestProTags5
  195. };
  196.  
  197. struct Box *TestProV2[]={
  198.    (struct Box *)&TestPro3,
  199.    &TestPro4,
  200.    (struct Box *)&TestPro5,
  201.    NULL
  202. };
  203.  
  204. struct Box TestPro2={
  205.    GL_HBOX,1,0,0,1,0+0,4+INTERHEIGHT,0,0,0,0,0,TestProV2
  206. };
  207.  
  208. struct Box *TestProV0[]={
  209.    (struct Box *)&TestPro1,
  210.    &TestPro2,
  211.    NULL
  212. };
  213.  
  214. struct Box TestPro0={
  215.    GL_VBOX,1,1,0,0,0+0,0+0,0,0,0,0,0,TestProV0
  216. };
  217.  
  218. struct WinInfo TestPro = {
  219.    &TestPro0,TestPro_Gadgets
  220. };
  221.  
  222.